Skip to content

test: fix Windows CI execution and resolve exposed platform failures#24476

Merged
ehedlund merged 6 commits intomainfrom
windows-test
Apr 3, 2026
Merged

test: fix Windows CI execution and resolve exposed platform failures#24476
ehedlund merged 6 commits intomainfrom
windows-test

Conversation

@ehedlund
Copy link
Copy Markdown
Contributor

@ehedlund ehedlund commented Apr 1, 2026

Summary

This PR enables core package tests on Windows CI (fixing a PowerShell bug that was silently skipping them) and addresses the cross-platform test failures that were consequently uncovered, ensuring the test suite passes consistently on macOS, Linux, and Windows.

Details

1. CI Workflow Fixes (Windows)

  • Argument Splatting: Quoted the npm run test:ci --workspace arguments in .github/workflows/ci.yml. Without quotes, PowerShell interpreted @ (e.g., @google/gemini-cli-core) as a splatting operator and dropped the argument, causing tests to be silently skipped.
  • Error Swallowing: Added explicit if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } checks after npm commands. PowerShell continues execution by default when an external command fails, meaning subsequent successful steps were previously overwriting the failure code and falsely reporting a green build.

2. Cross-Platform Test Fixes
To get the newly unskipped tests passing across all platforms, several types of adjustments were made:

  • Path Resolution & Normalization: Fixed assertions and mock setups across the test suite that implicitly assumed POSIX-style paths, updating them to handle Windows path separators and drive letters correctly.
  • Symlink Handling (macOS): Resolved test failures caused by macOS evaluating /tmp as a symlink to /private/tmp. Assertions were updated to use resolveToRealPath() so that expected output accurately mirrors runtime path evaluations.
  • Mock Consistency: Improved file system and path-related mocks (like fs and value-resolver) to behave reliably across OSes without relying on hardcoded, platform-specific path structures.

Note: The Windows Sandbox tests have been temporarily disabled in this PR and will be properly addressed and re-enabled in a separate effort (#24480).

@ehedlund ehedlund requested a review from a team as a code owner April 1, 2026 21:57
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported.

@gemini-cli
Copy link
Copy Markdown
Contributor

gemini-cli bot commented Apr 1, 2026

Hi @ehedlund, thank you so much for your contribution to Gemini CLI! We really appreciate the time and effort you've put into this.

We're making some updates to our contribution process to improve how we track and review changes. Please take a moment to review our recent discussion post: Improving Our Contribution Process & Introducing New Guidelines.

Key Update: Starting January 26, 2026, the Gemini CLI project will require all pull requests to be associated with an existing issue. Any pull requests not linked to an issue by that date will be automatically closed.

Thank you for your understanding and for being a part of our community!

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

Size Change: -174 B (0%)

Total Size: 34 MB

Filename Size Change
./bundle/chunk-52PZFWOV.js 0 B -1.96 MB (removed) 🏆
./bundle/chunk-HEZQOSRZ.js 0 B -3.15 MB (removed) 🏆
./bundle/chunk-VGTXU5QA.js 0 B -14.8 MB (removed) 🏆
./bundle/core-RKBVCYGF.js 0 B -45.1 kB (removed) 🏆
./bundle/devtoolsService-CK426E3V.js 0 B -28.4 kB (removed) 🏆
./bundle/interactiveCli-66SSFMMI.js 0 B -1.63 MB (removed) 🏆
./bundle/oauth2-provider-RBWHQXBM.js 0 B -9.16 kB (removed) 🏆
./bundle/chunk-CKUZTYX3.js 14.8 MB +14.8 MB (new file) 🆕
./bundle/chunk-Q5TLHYHH.js 3.15 MB +3.15 MB (new file) 🆕
./bundle/chunk-SU4IS2NT.js 1.96 MB +1.96 MB (new file) 🆕
./bundle/core-YMIJAUDF.js 45.1 kB +45.1 kB (new file) 🆕
./bundle/devtoolsService-YEGBRU3Y.js 28.4 kB +28.4 kB (new file) 🆕
./bundle/interactiveCli-FKODUY3M.js 1.63 MB +1.63 MB (new file) 🆕
./bundle/oauth2-provider-3TYSCBTQ.js 9.16 kB +9.16 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
./bundle/bundled/third_party/index.js 8 MB 0 B
./bundle/chunk-34MYV7JD.js 2.45 kB 0 B
./bundle/chunk-5AUYMPVF.js 858 B 0 B
./bundle/chunk-5PS3AYFU.js 1.18 kB 0 B
./bundle/chunk-664ZODQF.js 124 kB 0 B
./bundle/chunk-DAHVX5MI.js 206 kB 0 B
./bundle/chunk-IUUIT4SU.js 56.5 kB 0 B
./bundle/chunk-RJTRUG2J.js 39.8 kB 0 B
./bundle/devtools-36NN55EP.js 696 kB 0 B
./bundle/dist-T73EYRDX.js 356 B 0 B
./bundle/events-XB7DADIJ.js 418 B 0 B
./bundle/gemini.js 550 kB 0 B
./bundle/getMachineId-bsd-TXG52NKR.js 1.55 kB 0 B
./bundle/getMachineId-darwin-7OE4DDZ6.js 1.55 kB 0 B
./bundle/getMachineId-linux-SHIFKOOX.js 1.34 kB 0 B
./bundle/getMachineId-unsupported-5U5DOEYY.js 1.06 kB 0 B
./bundle/getMachineId-win-6KLLGOI4.js 1.72 kB 0 B
./bundle/memoryDiscovery-KXS43RGQ.js 0 B -980 B (removed) 🏆
./bundle/multipart-parser-KPBZEGQU.js 11.7 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/client/main.js 222 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.js 229 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.js 13.4 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.js 132 B 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B
./bundle/sandbox-macos-strict-open.sb 4.82 kB 0 B
./bundle/sandbox-macos-strict-proxied.sb 5.02 kB 0 B
./bundle/src-QVCVGIUX.js 47 kB 0 B
./bundle/tree-sitter-7U6MW5PS.js 274 kB 0 B
./bundle/tree-sitter-bash-34ZGLXVX.js 1.84 MB 0 B
./bundle/memoryDiscovery-UJWZC5BA.js 980 B +980 B (new file) 🆕

compressed-size-action

@ehedlund ehedlund requested a review from a team as a code owner April 1, 2026 22:17
@gemini-cli gemini-cli bot added the status/need-issue Pull requests that need to have an associated issue. label Apr 1, 2026
@ehedlund ehedlund requested a review from a team as a code owner April 1, 2026 22:37
@ehedlund ehedlund changed the title ci: quote workspace names to fix Windows test execution test: fix Windows CI execution and resolve exposed platform failures Apr 1, 2026
@ehedlund ehedlund enabled auto-merge April 3, 2026 15:40
@ehedlund ehedlund added this pull request to the merge queue Apr 3, 2026
@gemini-cli gemini-cli bot removed the status/need-issue Pull requests that need to have an associated issue. label Apr 3, 2026
Merged via the queue into main with commit ca0e6f9 Apr 3, 2026
28 checks passed
@ehedlund ehedlund deleted the windows-test branch April 3, 2026 16:22
@jacob314 jacob314 mentioned this pull request Apr 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants